#include "stu_log_in.h"
#include "func.h"

void stu_log_in(Class *P) // 学生登录系统
{
    char in_name[20]; // 登录输入名字
    char in_pas[10];  // 登录输入密码
    int err = 0;          // 判断错误次数
    int sign = 0;     // 退出按钮
    int sign_1 = 0;   // 退出switch
    int flog = 0;     // 是否登录成功
    int exist = 0;    // 判断学生是否存在
    int location;     // 获取该名字位置

    while (1)
    {
        printf("请输入您的账号");
        scanf("%s", in_name);
        for (size_t i = 0; i < P->len; i++)
        {
            location = stufind(P, in_name);
            if (location != -1) // 有该账户
            {
                exist = 1;
            }
        }
        if (exist == 1)
        {
            printf("请输入您的密码");
            scanf("%s", in_pas);
            if (!strcmp(P->data[location].stu_pas, in_pas))
            {
                printf("登录成功\n");
                flog = 1;
                break;
            }
            else
            {
                printf("密码错误\n");
                err++;
            }
        }
        else
        {
            printf("账号错误\n");
            err++;
        }
        if (err % 3 == 0)
        {
            printf("若要退出请按(-1) or 继续请按(1)");
            scanf("%d", &sign);
            if (sign == -1)
            {
                system("clear");
                break;
            }
            else if (sign == 1)
            {
                Progress_bar(5);
            }
            else
            {
                printf("错误！！！\r");
                fflush(stdout);
                sleep(3);
                system("clear");
                break;
            }
        }
    }
    if (flog == 1)//进入学生菜单
    {
        stu_menu(P,location);
        printf("进入学生菜单");
    }
}